An Ethernet network device comprises a packet transmitter. The packet transmitter has a transmit path. Packets proceed downstream the transmit path until transmitted by transmit logic to a network link. The transmitter comprises a packet bus and a number of logical blocks or units which perform operations on, or transform, the packets as they proceed downstream.
Maximizing the potential bandwidth of a transmit network device is important, especially in transport applications. Sub-maximal bandwidth may increase costs and result in the loss of revenue for network operators.
Precision Time Protocol (PTP), defined by the IEEE 1588 standard, is a way for devices on an Ethernet Network to accurately and precisely synchronize their internal clocks by timestamping and exchanging timestamped packets (also referred to as PTP messages or PTP packets). In PTP, a timestamp unit connected to the packet bus embeds a packet departure time into a packet prior to transmission. The embedded departure time is extracted from the packet on the receiving device across the network link and used for device synchronization. PTP requires the timestamped packet departure time to be very close to the actual or real departure time. For example, the timestamped packet departure time may need to be within 10 nanoseconds (ns) of the actual packet departure time.
There are two conventional PTP transmit timestamp methods. The 2-step PTP transmit timestamp method comprises detecting the departure time of a first event packet, and embedding that departure time in a second follow-up packet. The 1-step PTP timestamp method comprises embedding the departure time of an event packet in the event packet, itself, immediately before transmission.
The 1-step timestamp method is preferable to the 2-step timestamp method. In the 2-step method, devices at the sending and receiving ends need to track multiple packets (through hardware, firmware, or software) to determine the departure time of the event packet. For example, the transmitter device records the departure time of the event packet then creates and sends a follow-up packet containing the departure time of that event packet. The receiver device saves all event packets and associates them with the timestamp in follow-up packets. The complexity of the 2-step method is even greater for PTP transparent clocks (TCs) which might have many distinct PTP flows transiting through a single link at one time. The logic required to match the event packets with follow-up packets in such a situation is complex. Also, a 2-step method may require additional bandwidth on the outgoing link (which may not be available).
For a conventional 1-step timestamp method, packets are embedded with their departure times at the TxMAC after the packet bus. This is because the amount of latency experienced by a packet as it transits a packet bus is unpredictable and can vary significantly. It is not always possible, however, to 1-step timestamp a packet with its departure time at the TxMAC. For example, a MAC Security (MACSec) protection unit may protect a packet at some point along the packet bus, before the TxMAC, such that it cannot be validly modified thereafter.
Improvements in 1-step packet timestamping approaches, with minimal or no bandwidth loss, are desirable.